package com.cnaaa.pay.service;

import java.util.List;

/**
 * 2018/10/9 Create by 基础服务类接口(实体类Id为Integer类型)
 * IntegerIdService
 * Recommend of this class
 *
 * @author 基础服务类接口
 * @date 2018/10/9
 */
public interface StringIdService<T> {
    /**
     * 保存
     *
     * @param o 实体对象
     * @return 实体对象
     */
    T save(T o);

    /**
     * 查找全部
     *
     * @return 实体列表
     */
    List<T> list();

    /**
     * 分页查询
     *
     * @param page 页数
     * @param size 每页数量
     * @return Entity List
     */
    List<T> list(int page, int size);

    /**
     * 获取总数目
     *
     * @return 数目
     */
    long getCount();

    /**
     * 通过ID查找
     *
     * @param id ID
     * @return 实体对象
     */
    T findById(String id);

    /**
     * 删除
     *
     * @param id id
     * @return result
     */
    int delete(String id);

    /**
     * 修改（更新）信息
     *
     * @param o 实体对象
     * @return 更新后的对象
     */
    T update(T o);
}
